Computer simulations of believable life-like behavior have been sought since virtually the first computer system was developed. Inherently users of computers have equated the logical abilities of computers to the ability to act in realistic "animalistic" manners, unfortunately often with disappointing results. Characteristics such as autonomous behavior, which is perceivable as personality, have been elusive to obtain, and when obtainable to any appreciable degree have required considerable human programming talent in traditional computer languages (which are notably difficult to learn, and inflexible and unforgiving to use). Such characteristics further have required considerable computer resources to implement and execute. Some succinct examples serves to illustrate this. How does one implement a simulated creature that has a behavior which is recognizable, and personally identified with by users, as "tired"? How does one implement a simulated creature so realistic that users forget that it is "virtual," and automatically attempt to speak to it?
Numerous attempts have been made to present users (i.e., viewers) with life-like simulations. Considerable work in this area (e.g., by Disney Studios and others), but all examples known to the inventors have used human animators. Some of these efforts have used sprite based animation, requiring ahead-of-time animation of set sequences, usually by human illustrators. Recently, largely in response to the phenomenal increases in computer system capabilities due to component price decreases, memory size increases, and processor power increases somewhat realistic simulations have begun to appear in the market, but these are still largely ahead-of-time animation of set sequences, stored in mass on voluminous media such as CD ROMs, comprehensively indexed for retrieval, and rapidly presentable on increasingly powerful computers so that users perceive them to be running in real-time (e.g., Doug Sharp of Microsoft Corporation's Advanced Authoring Tools Division pre-scripted interactive story titled "The King of Chicago," which uses hundreds of scenes of possible situations).
Notable exceptions to the above statements do exist, including the work of Massachusetts Institute of Technology's Media Lab such as Bruce Blumburg's "virtual dog," implemented on a system termed the Artificial Life Interactive Video Environment. However, considerable improvement over even this is eagerly sought by computer users, who desire true three-dimensional interactive simulations of lower animals, humans, and even life-like behaviors imparted to mere physical objects. Further, to coin a term, users seek "synthetic creatures" having improved representational simulation (as contrasted to the overwhelming prior art concentration on mere presentational simulation techniques). Still further, an eager body of authors seek tools with which to supply the noted demands of users, tools which provide reusability and portability of work product, yet which do not require the effort of learning traditional programming languages and techniques, and which eliminate the frustration and inefficiency generally experienced in dealing with the inflexibility and syntactical rigidity of traditional programming systems.
Finally, the term "virtual dog" has been used above, and it should be noted that the term "virtual pet" has come into (and perhaps already left) vogue. Bruce Blumburg's accomplishment is quite noteworthy, and other similarly noteworthy efforts exist (e.g., DOGZ by PF Magic of San Francisco, Calif.). However, to date, the inventors know of no simulation technologies which address what they perceive to be a first key obstacle to implementing and presenting simulated life-like behavior in real-time on commonly available computers, providing efficient usable tools to generate efficiently runable underlying physics, mechanical properties, and user perceivable properties (e.g., visual and audible properties) of synthetic creatures. Further, the inventors know of no simulation technologies, to date, which address what they perceive to be a second key obstacle in this field, providing a simple and efficient mechanism for defining and executing behaviors of such synthetic creatures.